# -*- coding: utf-8 -*-
"""
@Time    : 2024/7/11 15:02 
@Author  : ZhangShenao 
@File    : index_generator.py 
@Desc    : 索引生成器
"""


def index_generator(nums: list, target: int) -> int:
    """
    索引生成器
    给定一个列表和目标元素,生成该目标元素在列表中的所有索引
    :param nums: 列表
    :param target: 目标元素
    :return: 目标元素所在的索引
    """
    for i, num in enumerate(nums):
        if num == target:
            yield i


# 使用生成器
# index_generator()生成一个generator对象,可以使用list()函数转换成list
indexes = index_generator([1, 6, 2, 4, 5, 2, 8, 6, 3, 2], 2)
print(type(indexes))  # <class 'generator'>
print(list(indexes))  # [2, 5, 9]
